package com.luckyframe.project.jmeter.jmeterTestCase.service;

import com.luckyframe.common.support.Convert;
import com.luckyframe.project.jmeter.jmeterTestCase.domain.JmeterTestCase;
import com.luckyframe.project.jmeter.jmeterTestCase.mapper.JmeterTestCaseMapper;
import org.apache.commons.collections.CollectionUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import java.util.ArrayList;
import java.util.List;

/**
 * jmeter测试用例 服务层实现
 * 
 * @author lancelot
 * @date 2020-09-17
 */
@Service
public class JmeterTestCaseServiceImpl implements IJmeterTestCaseService
{
	@Autowired
	private JmeterTestCaseMapper jmeterTestCaseMapper;

	/**
     * 查询jmeter测试用例信息
     * 
     * @param id jmeter测试用例ID 主键ID
     * @return jmeter测试用例信息 基础信息
     */
    @Override
	public JmeterTestCase selectJmeterTestCaseById(Long id)
	{
	    return jmeterTestCaseMapper.selectJmeterTestCaseById(id);
	}
	
	/**
     * 查询jmeter测试用例列表
     * 
     * @param jmeterTestCase jmeter测试用例信息 基础信息
     * @return jmeter测试用例集合
     */
	@Override
	public List<JmeterTestCase> selectJmeterTestCaseList(JmeterTestCase jmeterTestCase)
	{
	    return jmeterTestCaseMapper.selectJmeterTestCaseList(jmeterTestCase);
	}
	
    /**
     * 新增jmeter测试用例
     * 
     * @param jmeterTestCase jmeter测试用例信息 基础信息
     * @return 结果
     */
	@Override
	public int insertJmeterTestCase(JmeterTestCase jmeterTestCase)
	{
	    return jmeterTestCaseMapper.insertJmeterTestCase(jmeterTestCase);
	}
	
	/**
     * 修改jmeter测试用例
     * 
     * @param jmeterTestCase jmeter测试用例信息 基础信息
     * @return 结果
     */
	@Override
	public int updateJmeterTestCase(JmeterTestCase jmeterTestCase)
	{
	    return jmeterTestCaseMapper.updateJmeterTestCase(jmeterTestCase);
	}

	/**
     * 删除jmeter测试用例对象
     * 
     * @param ids 需要删除的数据ID
     * @return 结果
     */
	@Override
	public int deleteJmeterTestCaseByIds(String ids)
	{
		return jmeterTestCaseMapper.deleteJmeterTestCaseByIds(Convert.toStrArray(ids));
	}

    @Override
    public List<JmeterTestCase> selectByIdList(List<Long> caseIds) {
        if(CollectionUtils.isEmpty(caseIds)){
        	return new ArrayList<>();
		}

        return jmeterTestCaseMapper.selectByIdList(caseIds);
    }

	@Override
	public List<JmeterTestCase> selectJmeterTestCaseByPlanId(Long planId) {
		return jmeterTestCaseMapper.selectJmeterTestCaseByPlanId(planId);
	}

}
